package Library;

 
import java.util.Properties;
 
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
 
/**
 * send mail class
 * @author Maor
 *
 */
public class SendMail {
 
    private String from;
    private String to;
    private String subject;
    private String text;
    private final String username = "librarybraude@gmail.com";
	private final String password = "libraryg13";
    public SendMail(String from, String to, String subject, String text){
        this.from = from;
        this.to = to;
        this.subject = subject;
        this.text = text;
    }
 
    /**
     * send the message 
     */
    public void send(){
    	
    	    Properties props = new Properties();
    		props.put("mail.smtp.auth", "true");
    		props.put("mail.smtp.starttls.enable", "true");
    		props.put("mail.smtp.host", "smtp.gmail.com");
    		props.put("mail.smtp.port", "587");
    	
    		Session session = Session.getInstance(props,
    		  new javax.mail.Authenticator() {
    			protected PasswordAuthentication getPasswordAuthentication() {
    				return new PasswordAuthentication(username, password);
    			}
    		  });
    	
    		try {
    	
    			Message message = new MimeMessage(session);
    			message.setFrom(new InternetAddress(from));
    			message.setRecipients(Message.RecipientType.TO,
    				InternetAddress.parse(to));
    			message.setSubject("OBL Notification");
    			message.setText(text);
    			
    			System.out.println("here");
    			Transport.send(message);
    	
    			System.out.println("Done");
    	
    		} catch (MessagingException e) {
    			throw new RuntimeException(e);
    		}
    		
    	}
}